package com.irdstudio.efp.esb.api.rest.yed.req;

import com.alibaba.fastjson.annotation.JSONField;
import com.irdstudio.basic.framework.core.annotation.DicType;
import com.irdstudio.efp.esb.api.common.GroupeInterface.yed;
import com.irdstudio.efp.esb.common.constant.nls.NlsTrmTypeEnum;
import com.irdstudio.efp.esb.common.constant.nls.NlsWhthrFrmrEnum;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 需求编号：优e贷<br/>
 * 问题编号：<br/>
 * 功能描述：<br/>
 * 开发人员：dengqiwen<br/>
 * 创建时间：2020/7/30 14:49
 */
public class YedCreditRiskApproveNoticeReqBean implements Serializable {

    // 授信申请流水号
    @NotNull(groups= {yed.class})
    @NotEmpty(groups= {yed.class})
    @Length(max = 64,groups= {yed.class})
    private String  CrAppSrlNo;
    @JSONField(name = "CrAppSrlNo")
    public String  getCrAppSrlNo() { return CrAppSrlNo; }
    @JSONField(name = "CrAppSrlNo")
    public void setCrAppSrlNo( String CrAppSrlNo) { this.CrAppSrlNo = CrAppSrlNo; }
    // 审批结果标志
    @NotNull(groups= {yed.class})
    @NotEmpty(groups= {yed.class})
    @Length(max = 5,groups= {yed.class})
    private String  AprvlRsltFlg;
    @JSONField(name = "AprvlRsltFlg")
    public String  getAprvlRsltFlg() { return AprvlRsltFlg; }
    @JSONField(name = "AprvlRsltFlg")
    public void setAprvlRsltFlg( String AprvlRsltFlg) { this.AprvlRsltFlg = AprvlRsltFlg; }
    // 审批状态
    @DicType(dicType = NlsWhthrFrmrEnum.class, method = "getValue",groups= {yed.class})
    @Length(max = 10,groups= {yed.class})
    private String AprvlSt;
    @JSONField(name = "AprvlSt")
    public String  getAprvlSt() { return AprvlSt; }
    @JSONField(name = "AprvlSt")
    public void setAprvlSt( String AprvlSt) { this.AprvlSt = AprvlSt; }
    // 人工审批标志
    @NotNull(groups= {yed.class})
    @NotEmpty(groups= {yed.class})
    @Length(max = 5,groups= {yed.class})
    private String  MnulAprvlFlg;
    @JSONField(name = "MnulAprvlFlg")
    public String  getMnulAprvlFlg() { return MnulAprvlFlg; }
    @JSONField(name = "MnulAprvlFlg")
    public void setMnulAprvlFlg( String MnulAprvlFlg) { this.MnulAprvlFlg = MnulAprvlFlg; }
    // 建议授信额度
    @Length(max = 24,groups= {yed.class})
    @NotNull(groups= {yed.class})
    @NotEmpty(groups= {yed.class})
    private String  CrRcmndnAmt;
    @JSONField(name = "CrRcmndnAmt")
    public String  getCrRcmndnAmt() { return CrRcmndnAmt; }
    @JSONField(name = "CrRcmndnAmt")
    public void setCrRcmndnAmt( String CrRcmndnAmt) { this.CrRcmndnAmt = CrRcmndnAmt; }
    // 建议年利率
    @NotNull(groups= {yed.class})
    @NotEmpty(groups= {yed.class})
    @Length(max = 10,groups= {yed.class})
    private String  AnulIntRt;
    @JSONField(name = "AnulIntRt")
    public String  getAnulIntRt() { return AnulIntRt; }
    @JSONField(name = "AnulIntRt")
    public void setAnulIntRt( String AnulIntRt) { this.AnulIntRt = AnulIntRt; }
    // 建议授信期限
    @Length(max = 10,groups= {yed.class})
    private String  LoanAplTrm;
    @JSONField(name = "LoanAplTrm")
    public String  getLoanAplTrm() { return LoanAplTrm; }
    @JSONField(name = "LoanAplTrm")
    public void setLoanAplTrm( String LoanAplTrm) { this.LoanAplTrm = LoanAplTrm; }
    // 建议授信期限单位
    @DicType(dicType = NlsTrmTypeEnum.class, method = "getValue",groups= {yed.class})
    @Length(max = 10,groups= {yed.class})
    private String  LoanTrmType;
    @JSONField(name = "LoanTrmType")
    public String  getLoanTrmType() { return LoanTrmType; }
    @JSONField(name = "LoanTrmType")
    public void setLoanTrmType( String LoanTrmType) { this.LoanTrmType = LoanTrmType; }
    // 拒绝代码
    @Length(max = 20,groups= {yed.class})
    private String  RfsCd;
    @JSONField(name = "RfsCd")
    public String  getRfsCd() { return RfsCd; }
    @JSONField(name = "RfsCd")
    public void setRfsCd( String RfsCd) { this.RfsCd = RfsCd; }
    // 拒绝原因
    @Length(max = 512,groups= {yed.class})
    private String  RfsRsn;
    @JSONField(name = "RfsRsn")
    public String  getRfsRsn() { return RfsRsn; }
    @JSONField(name = "RfsRsn")
    public void setRfsRsn( String RfsRsn) { this.RfsRsn = RfsRsn; }

    /* 工作单位名称*/
    @Length(max = 200,groups= {yed.class})
    private String  WrkCorpNm;
    @JSONField(name = "WrkCorpNm")
    public String  getWrkCorpNm() { return WrkCorpNm; }
    @JSONField(name = "WrkCorpNm")
    public void setWrkCorpNm( String WrkCorpNm) { this.WrkCorpNm = WrkCorpNm; }

}
